A PHP Error was encountered
Severity: Warning
Message: count(): Parameter must be an array or an object that implements Countable
Filename: libraries/StructuredData.php
Line Number: 638
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 638
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'name'
Filename: libraries/StructuredData.php
Line Number: 641
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 641
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'title'
Filename: libraries/StructuredData.php
Line Number: 643
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 643
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'comment'
Filename: libraries/StructuredData.php
Line Number: 644
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 644
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: count(): Parameter must be an array or an object that implements Countable
Filename: libraries/StructuredData.php
Line Number: 638
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 638
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'name'
Filename: libraries/StructuredData.php
Line Number: 641
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 641
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'title'
Filename: libraries/StructuredData.php
Line Number: 643
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 643
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'comment'
Filename: libraries/StructuredData.php
Line Number: 644
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 644
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
IronOCR
ハウツー
ドキュメント内のテーブルを読む
How to Read Table in Documents
View the article in
English
文書中の表の読み方について説明しましょう。 Tesseractを使用してテーブルからデータを抽出することは、テキストがセルに存在し、ドキュメントにまばらに散らばっていることが多いため、困難な場合があります。 しかし、私たちのライブラリは、テーブルデータを正確に検出し、抽出するために訓練され、微調整された機械学習モデルを備えています。
単純なテーブルの場合は、まっすぐなテーブル検出を頼りにすることができますが、より複雑な構造の場合は、当社独自の ReadDocumentAdvanced メソッドが堅牢な結果を提供し、テーブルを効果的に解析してデータを配信します。
クイックスタート: 1回の呼び出しで複雑なテーブルセルを抽出
この例では、ReadDocumentAdvancedを使用してIronOCRを呼び出すだけで、複雑なドキュメントから詳細なテーブル・セル・データを取得する方法を示しています。
PDFを読み込み、高度なテーブル検出を適用し、セル情報のリストを直接返すことで、使いやすさを示しています。
Get started making PDFs with NuGet now:
Install IronOCR with NuGet Package Manager
Copy and run this code snippet.
var cells = new IronTesseract().ReadDocumentAdvanced(new OcrInput().LoadPdf("invoiceTable.pdf")).Tables.First().CellInfos;
Deploy to test on your live environment
Start using IronOCR in your project today with a free trial
以下のステップはIronOCRを使ってテーブルを読み始めるためのガイドです:
(英語
最小限のワークフロー (5 つのステップ)
テーブルからデータを抽出する C# ライブラリをダウンロードする 。
抽出のために画像とPDF文書を準備する 。
テーブル検出を有効にするためにReadDataTables プロパティをtrueに設定する 。
複雑なテーブルには ReadDocumentAdvanced メソッドを使用します 。
これらのメソッドによって検出されたデータを抽出する 。
## シンプルなテーブルの例
`ReadDataTables`プロパティをtrueに設定すると、Tesseractを使用したテーブル検出が可能になります。 この機能をテストするために、簡単な表PDFを作成しました:[simple-table.pdf](/static-assets/ocr/how-to/read-table-in-document/simple-table.pdf)'. セルが結合されていない単純な表は、この方法で検出できます。 より複雑な表については、以下に説明する方法を参照してください。
```csharp
:path=/static-assets/ocr/content-code-examples/how-to/read-table-in-document-with-tesseract.cs
```
-----
## 請求書の例を読む
ビジネスシーンでよく見られる複雑な表のひとつに請求書があります。 請求書自体は、行と列のデータを持つ複雑な表です。 IronOCRでは、`ReadDocumentAdvanced`メソッドを利用して、これらを美しく処理します。 プロセスとしては、ドキュメントをスキャンし、テーブル構造を特定し、データを抽出します。 この例では、'[invoiceTable.pdf](/static-assets/ocr/how-to/read-table-in-document/invoiceTable.pdf)' ファイルを使用して、IronOCRが請求書からすべての情報を取得する方法を紹介します。
`ReadDocumentAdvanced`メソッドは[IronOcr.Extensions.AdvancedScan](https://www.nuget.org/packages/IronOcr.Extensions.AdvancedScan)パッケージをIronOCRパッケージと一緒にインストールする必要があります。
.NET Frameworkで高度なスキャンを使用するには、プロジェクトがx64アーキテクチャで実行される必要があります。 プロジェクト設定に移動し、"Prefer 32-bit" オプションのチェックを外してください。 詳しくは、以下のトラブルシューティングガイドをご覧ください:"[Advanced Scan on .NET Framework](/csharp/ocr/troubleshooting/advanced-scan-on-net-framework/)".
```csharp
:path=/static-assets/ocr/content-code-examples/how-to/read-table-in-document-with-ml.cs
```
この方法では、ドキュメントのテキストデータを、境界線で囲まれたものと境界線のないものの2つのカテゴリーに分けます。 境界線のあるコンテンツについては、ライブラリは、テーブルの構造に基づいてさらにサブセクションに分割します。 結果は以下のとおりです。 この方法では、境界線で囲まれた情報に焦点を当てるため、複数の行にまたがるセルを結合しても、1つのセルとして扱われることに注意してください。
### 結果
以下のようになります。
次のようにします。
### ヘルパークラス
現在の実装では、抽出されたセルはまだ適切に整理されていません。 しかし、各セルには、X座標やY座標、寸法などの貴重な情報が含まれています。 このデータを使って、さまざまな目的のためのヘルパークラスを作成することができます。 以下は、基本的なヘルパーメソッドです:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
// A helper class to process table data by sorting cells based on coordinates
public static class TableProcessor
{
// Method to organize cells by their coordinates (Y top to bottom, X left to right)
public static List
OrganizeCellsByCoordinates(List cells)
{
// Sort cells by Y (top to bottom), then by X (left to right)
var sortedCells = cells
.OrderBy(cell => cell.CellRect.Y)
.ThenBy(cell => cell.CellRect.X)
.ToList();
return sortedCells;
}
// Example method demonstrating how to process multiple tables
public static void ProcessTables(Tables tables)
{
foreach (var table in tables)
{
var sortedCells = OrganizeCellsByCoordinates(table.CellInfos);
Console.WriteLine("Organized Table Cells:");
// Initialize previous Y coordinate
int previousY = sortedCells.Any() ? sortedCells.First().CellRect.Y : 0;
foreach (var cell in sortedCells)
{
// Print a new line if the Y-coordinate changes, indicating a new row
if (Math.Abs(cell.CellRect.Y - previousY) > cell.CellRect.Height * 0.8)
{
Console.WriteLine(); // Start a new row
previousY = cell.CellRect.Y;
}
// Print the cell text followed by a tab
Console.Write($"{cell.CellText}\t");
}
Console.WriteLine("\n--- End of Table ---"); // End of a table
}
}
// Method to extract a specific row by the given index
public static List ExtractRowByIndex(TableInfo table, int rowIndex)
{
if (table == null || table.CellInfos == null || !table.CellInfos.Any())
{
throw new ArgumentException("Table is empty or invalid.");
}
var sortedCells = OrganizeCellsByCoordinates(table.CellInfos);
List> rows = new List>();
// Group cells into rows based on Y coordinates
int previousY = sortedCells.First().CellRect.Y;
List currentRow = new List();
foreach (var cell in sortedCells)
{
if (Math.Abs(cell.CellRect.Y - previousY) > cell.CellRect.Height * 0.8)
{
// Store the completed row and start a new one
rows.Add(new List(currentRow));
currentRow.Clear();
previousY = cell.CellRect.Y;
}
currentRow.Add(cell);
}
// Add the last row if it wasn't added yet
if (currentRow.Any())
{
rows.Add(currentRow);
}
// Retrieve the specified row
if (rowIndex < 0 || rowIndex >= rows.Count)
{
throw new IndexOutOfRangeException($"Row index {rowIndex} is out of range.");
}
return rows[rowIndex];
}
}
```
よくある質問
C#を使用して文書内のテーブルデータ抽出を強化できます。IronOCRの機械学習モデルを利用することで、複雑なテーブルデータを正確に検出および抽出できます。このアプローチは、Tesseractのような標準的なOCRツールを使用するよりも効果的です。
IronOCR の ReadDocumentAdvanced メソッドは、効果的な解析とデータ抽出を通じて堅牢な結果を提供することで複雑なテーブルを処理するように設計されています。それは、複雑な構造を持つテーブルを扱うのに特に有用です。
IronOCR を使用してテーブルを抽出するには、C# ライブラリをダウンロードし、ドキュメントを準備し、ReadDataTables プロパティを設定してテーブル検出を有効にし、複雑なテーブルに ReadDocumentAdvanced メソッドを使用します。
IronOCR での高度なテーブル抽出には、Windows 固有の複雑なテーブル構造を効果的に管理するための IronOcr.Extensions.AdvancedScan パッケージが必要です。
IronOCR は、座標ごとに抽出されたテーブルデータを整理するためのヘルパーメソッドを提供し、複数のテーブルを処理し、特定の行をインデックス別に抽出してデータ管理を改善できます。
IronOCR で抽出されたテーブルセルには、各セル内の X および Y 座標、セルの寸法、テキスト内容などのメタデータが含まれており、詳細なデータ分析と整理が可能です。
IronOCR を使用してテーブル抽出をする際、.NET Frameworkとの互換性を確保するには、プロジェクトをx64アーキテクチャで実行し、プロジェクト設定で「32ビット優先」をチェックオフしてください。
テクニカルライター
Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'name'
Filename: sections/author_component.php
Line Number: 70
Backtrace:
File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 70
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view
File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
">
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'title'
Filename: sections/author_component.php
Line Number: 84
Backtrace:
File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 84
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view
File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'comment'
Filename: sections/author_component.php
Line Number: 85
Backtrace:
File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 85
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view
File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
準備はいいですか?
Nuget ダウンロード 5,044,537 | バージョン: 2025.11 ただ今リリースされました
試用版の IronOCR を無料でお試しください
5分でセットアップ完了
Install with NuGet
バージョン: 2025.11
nuget.org/packages/IronOcr/
ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
「参照」を選択して「IronOCR」を検索
パッケージを選択してインストール
DLL をダウンロード
バージョン: 2025.11
IronOCRをダウンロードして、ソリューションディレクトリ内の~/Libsなどの場所に解凍します
Visual Studioソリューションエクスプローラーで、リファレンスを右クリックします。「参照」、「IronOCR.dll」を選択
15
1000
1
無料で始める
無料トライアルを開始 NuGetダウンロード js-modal-open
あなたの無料30日間の試用キー をすぐに入手。
Thank you. If you'd like to speak to our licensing team:
ありがとうございます。 ライセンシングチームと話したい場合: